﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NAnt.SVN.Tasks.Constants;

namespace NAnt.SVN.Tasks
{
    /// <summary>
    /// Class with some important SVN flags.
    /// $Id$
    /// </summary>
    public sealed class SVNFlags : SVNStaticConstants
    {
        #region SVN flags

        /// <summary>
        /// XML output parameter
        /// </summary>
        public const string XMLOUTPUT = "--xml";

        /// <summary>
        /// Recursive parameter
        /// </summary>
        public const string RECURSIVE = "-R";

        /// <summary>
        /// Non recursive parameter
        /// </summary>
        public const string NONRECURSIVE = "-N";

        /// <summary>
        /// Limit parameter
        /// </summary>
        public const string LIMIT = "--limit";

        /// <summary>
        /// Merge parameter
        /// </summary>
        public const string MERGEINFO = "--use-merge-history";

        /// <summary>
        /// Verbose parameter
        /// </summary>
        public const string VERBOSE = "--verbose";

        /// <summary>
        /// Accept parameter
        /// </summary>
        public const string ACCEPT = "--accept";

        /// <summary>
        /// Revision parameter
        /// </summary>
        public const string REVISION = "--revision";

        /// <summary>
        /// File parameter
        /// </summary>
        public const string FILE = "--file";

        /// <summary>
        /// Accept theirs parameter
        /// </summary>
        public const string ACCEPTTHEIRSFULL = ACCEPT + " theirs-full";

        /// <summary>
        /// Accept mine parameter
        /// </summary>
        public const string ACCEPTMINEFULL = ACCEPT + " mine-full";

        /// <summary>
        /// Force parameter
        /// </summary>
        public const string FORCE = "--force";

        /// <summary>
        /// The force log parameter
        /// </summary>
        public const string FORCELOG = "--force-log";

        /// <summary>
        /// Version parameter
        /// </summary>
        public const string VERSION = "--version";

        /// <summary>
        /// Message parameter
        /// </summary>
        public const string MESSAGE = "--message";

        /// <summary>
        /// Username parameter
        /// </summary>
        public const string USER = "--username";

        /// <summary>
        /// Password parameter
        /// </summary>
        public const string PASSWORD = "--password";

        /// <summary>
        /// No authentication cache
        /// </summary>
        public const string NOAUTHCACHE = "--no-auth-cache";

        /// <summary>
        /// Ignore externals parameter
        /// </summary>
        public const string IGNOREEXTERNALS = "--ignore-externals";

        /// <summary>
        /// Non interactive
        /// </summary>
        public const string NONINTERACTIVE = "--non-interactive";

        #endregion
    }
}
